This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 11-330235, filed Nov. 19, 1999, the entire contents of which are incorporated herein by reference.
The present invention relates to a communication method for synchronously processing data between a plurality of devices and an electronic device therefor. In particular, the present invention relates to a communication method and an electronic device that have been modified so as to synchronize data in a wireless or wired network such that a network configuration is dynamically changed.
In recent years, apart from a personal computer, in a portable information processing terminal such as a portable cellular phone, a palm top computer or a wrist watch, personal data such as a telephone number (address) directory, schedule data, a task list, an E-mail can be managed and stored. Using this function, data is shared by using duplicate data in order to use the same data at home or outside as well as in office between electronic devices such as a personal computer or a portable information processing terminal. As a technique for keeping coincidence of a plurality of shared data, a data synchronization processing is known. For example, in the case where an attempt is made to share personal data such as an address directory or a schedule between a personal computer and a portable information processing terminal, duplication of data is created, and original data is held in the host and the duplicate data is held in each device other than the host. In the case where a change occurs with these items of data, the changed data is exchanged between these devices, whereby data consistency is maintained. This method is referred to as data synchronization.
As a typical computer program for data synchronization, Intelli Sync (Intelli Sync User""s Guide Rev 3.1 Puma TECHNOLOGY 1999) is known. This enables data synchronization between personal computers or between a personal computer and a portable information processing terminal. This program enables data synchronization between two personal computers, one personal computer and one portable information processing terminal, or one personal computer and two portable information processing terminals.
In the case of this system, however, a device serving as a server must be participated in data synchronization processing. In the case where three or more devices share data, there applies a restriction that data synchronization cannot be performed between two devices other than server. Therefore, for example, in the case where a personal computer connected to a network is used as a server, thereby causing two portable information processing terminals to include the duplicate data, even if an attempt is made to use duplicate data after updated in one portable information processing terminal by the other portable information processing terminal outside, data synchronization processing cannot be performed by these portable information processing terminals other than server. Stated another way, the conventional data synchronization processing is performed between the server and the client in a one-to-one manner. It is not possible to perform the data synchronization processing in a one-to-plural manner.
Furthermore, in general, it is required to provide communication settings for a data synchronization party, settings regarding type of synchronization data, or setting of a method of solving a problem during data conflict. These settings are conventionally provided by a user operating an input device of a personal computer or portable information processing terminal through the setting screen displayed on a display device of the personal computer or portable information processing terminal and inputting data. This means that at least the display device and input device of the portable terminal device are required. Therefore, in the conventional method, because of a restriction specific to device such as a wrist watch including device size, for example, it is very difficult to provide settings of data synchronization in a device having only a limited input device or display device.
Accordingly, it is an object of the present invention to provide a communication method and electronic device that enables data synchronization between arbitrary devices without requiring a server.
According to the present invention, there is provided a communication method for synchronizing data between a plurality of arbitrary devices using a wireless or wired network, the communication method comprising a member registration step and a data synchronization step. In the member registration step, a device specified as a master by a user transmits to a device specified as a slave by the user a certificate indicating that the slave belongs to a data synchronization group that performs a data synchronization processing and a priority to be used when the slave performs the data synchronization processing, and then, the slave is registered as a member of the data synchronization group. In the data synchronization step, it is determined using the certificate whether or not one slave and one or more other slaves capable of making wireless or wired communication belong to the same data synchronization group, and the data synchronization processing is performed through wireless or wired communication in accordance with the priority between the slaves which are determined to belong to the same data synchronization group.
In this communication method, apart from the data synchronization step of actually processing data synchronization, the member registration step is provided for the purpose of specifying a target device for data synchronization. At this member registration step, the certificate and priority are transmitted from a device specified as the master to a device specified as the slave, whereby the slave can be registered as a member of the data synchronization group. The certificate and priority are provided to each member, whereby data synchronization can be easily performed between slaves even if the master is absent, as long as these devices are registered in the same data synchronization group.
In this case, as to whether or not the slaves capable of making wireless or wired communication belong to the same group, it is determined by exchanging the certificate between the slaves. Thus, even if a master does not exist, data synchronization can be performed reliably and safely between the slaves. In the case where a conflict occurs during data synchronization processing between slaves, such conflict can be solved by the priority assigned to each slave at the member registration step. Therefore, each slave may hold only the certificate and priority assigned to each slave itself, making it unnecessary to set data or the like concerning a communication party for data synchronization. Hence, a device having only its limited input device and display device can be used as a device targeted for synchronization. Further, as in a wired or wireless network such that a network configuration is dynamically changed, even in a case of use under environment that makes it difficult to provide data for statically specifying a communication party for data synchronization, a device that is such data synchronization party can be reliably specified.
The data synchronization step can be performed between one master and one or more arbitrary slaves having a certificate indicating that these slaves belong to the same group as well as between slaves.
In addition, there is no need to specify a master and a slave by devices, and an arbitrary device can be specified as a master or slave of the data synchronization group by data targeted for data synchronization. One device may function as a slave of the data synchronization group for one set of data or may function as a master of the data synchronization group for another set of data. Alternatively, one device may function as a slave of two data synchronization groups corresponding to two sets of different data.
In the case where a master and a slave are thus specified individually by data targeted for synchronization, the member registration step is also executed between a device specified as a master of a data synchronization group for the data targeted for data synchronization processing and a device specified as a slave of the master. Thus, for transmission of the certificate and priority as well, a master that is a transmission source and a slave that is a transmission destination are set by data, and the certificate and priority are set by data accordingly.
In addition to the aforementioned member registration step and data synchronization step, a master privilege transfer step may be provided, whereby only the master""s function can be transferred to another device while the function and configuration of the current data synchronization group are maintained intact. Hence, a newly purchased device can be used as a master, and a slave can be temporarily used as a master outside.
In addition, it is preferable that a priority exchange step of exchanging a priority between slaves be further provided. In this manner, the priority registered in the member registration step can be changed later, and data synchronization processing can be achieved more flexibly between slaves.
The master privilege transfer step and priority exchange step as well are preferably performed after it has been determined that there does not exist any device other than two devices set in a mode for executing the above steps.
In order to easily change a member of the data synchronization group or the like, it is preferable to further provide a member registration releasing step of releasing a master or a slave from the data synchronization group. The slave releasing step may be performed by that slave device solely. However, the master releasing step is desirably executed together with the member registration releasing step of a slave communicable with the master. In this manner, a plurality of devices including a master can be released from the data synchronization group with one operation.
In addition, a conventional data synchronizing method assumes one-to-one cable connection, one-to-one connection with the server by modem, or one-to-one connection with the server by infrared-ray radiation. This is because a communication party for data synchronization can be uniquely specified.
However, if the data synchronization is performed in a bus type wired network or a wireless network free of directivity, unlike a case of one-to-one connection, it is required to uniquely identify a party for data synchronization from the devices in a network by any method. In addition, in the case of a wireless or wired network such that a network configuration is dynamically changed, the network address of each device is not fixed, and a network address is often assigned during network connection or the like. Thus, the network address of a communication party cannot be used as static identification information for specifying a communication party for data synchronization. Therefore, in a wire or wireless network such that a configuration is dynamically changed as well, it is required to introduce a new technology for making it possible to uniquely identify a party for data synchronization.
Although it is not presumed in one-to-one connection, in a bus type wired network or a wireless network free of directivity, there is a possibility that a device other than device for data synchronization, for example, a malicious third party exists in the same network, especially in a wireless network. Thus, it is required to ensure data security, and at the same time, to prevent data leak due to computer hacking or the like. In particular, in a wireless network, there is high possibility that a device is merely disposed within the reach of wireless communication, whereby the device can be easily participated in the network. Thus, data security is important. In addition, without maliciousness, there is a danger that data contained in a device other than that targeted for synchronization, the device existing within the reach of wireless communication, is mistakenly or unintentionally changed by data synchronization processing between devices via wireless communication.
According to the present invention, such an undesired data synchronization is prevented from being occurred since the party for data synchronization can be easily identified by exchanging the certificate between the devices.
Additional objects and advantages of the present invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the present invention.
The objects and advantages of the present invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.